part of '../../lexical_item.dart';

// todo: move to helper
const kMaxRepetitionNumber = 5;

class LearningLexicalItemProgress extends Equatable implements LexicalItemProgress {
  LearningLexicalItemProgress({
    required this.learningStages,
  }) : assert(learningStages.isNotEmpty);

  final BuiltList<LearningStage> learningStages;

  @override
  List<Object?> get props {
    return [
      learningStages,
    ];
  }

  LearningLexicalItemProgress copyWith({
    BuiltList<LearningStage> Function()? learningStages,
  }) {
    return LearningLexicalItemProgress(
      learningStages: learningStages == null ? this.learningStages : learningStages(),
    );
  }
}